// function * fun(){
//     // console.log('zyy');
//     yield '我要暂停'
//     // console.log('stt');
    
// }

// let a = fun();
// console.log(a);

// a.next();
// a.next();

// for(i of fun()){
//     console.log(i);
    
// }


// function * fun(args){
//     console.log(args);
//     let one = yield 111;
//     console.log(one);
//     let two = yield 222;
//     console.log(two);
//     let three = yield 333;
//     console.log(three);
    

    
    
    
    
// }


//     let a = fun('aaa');
//     console.log(a.next());
//     console.log(a.next('bbb'));
//     console.log(a.next('ccc'));
//     console.log(a.next('ddd'));

//回调地狱
// setTimeout(()=>{
//     console.log('111');
//     setTimeout(()=>{
//         console.log('222');
//         setTimeout(()=>{
//             console.log('333');
            
//         },3000);
//     },2000);
    
// },1000);


function one(){
    setTimeout(()=>{
        console.log(111);
        a.next();
    },1000);
}

function two(){
    setTimeout(()=>{
        console.log(222);
        a.next();
    },2000);
}

function three(){
    setTimeout(()=>{
        console.log(333);
        a.next();
    },3000);
}

function * fun(){
    yield one();
    yield two();
    yield three();
}

let a= fun();
a.next();